package com.xh.car.bean;

import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * apply
 */
@Data
public class Apply implements Serializable {
    /**
     * 主键自增
     */
    private Integer id;

    /**
     * 申请人编号
     */
    private Integer applyId;

    /**
     * 申请时间
     */
    private Date applyTime;

    /**
     * 申请车辆编号
     */
    private Integer applyCarId;

    /**
     * 是否需要司机1自驾2指定司机
     */
    private Integer applyDriver;

    /**
     * 申请司机编号
     */
    private Integer applyDriverId;

    /**
     * 申请事由
     */
    private String content;

    /**
     * 负责人编号
     */
    private Integer depExamId;

    /**
     * 负责人审核时间
     */
    private Date depExamTime;

    /**
     * 负责人审核意见
     */
    private String depContent;

    /**
     * 管理员编号
     */
    private Integer admExamId;

    /**
     * 管理员审核时间
     */
    private Date admExamTime;

    /**
     * 管理员审核意见
     */
    private String admExamContent;

    /**
     * 实际用车编号
     */
    private Integer carId;

    /**
     * 实际司机编号
     */
    private Integer driverId;

    /**
     * 申请状态
     * 1已申请
     * 2负责人拒绝
     * 3负责人同意
     * 4管理员拒绝
     * 5管理员同意
     * 6已还车
     * 7流程异常
     */
    private Integer applyStatus;

    /**
     * 用车开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 用车结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    private static final long serialVersionUID = 1L;

    /*申请人信息*/
    private Userinfo applyInfo;
    /*申请司机信息*/
    private Userinfo applyDriverInfo;
    /*实际司机信息*/
    private Userinfo driverInfo;
    /*部分负责人信息*/
    private Userinfo depInfo;
    /*管理员信息*/
    private Userinfo admInfo;
    /*申请车辆信息*/
    private Car applyCarInfo;
    /*实际车辆信息*/
    private Car carInfo;

    private Integer departmentId;
}
